Predicción precios propiedades portal Idealista + integración OpenData (Parte 1)

Definición objetivo

Decidir dónde, cuándo y cómo invertir no esta una tarea básica. Existen diversas variables que han de investigarse y tomar en consideración, sobretodo cuando se trata de una decisión que abarca una cantidad de capital significativa.Por ello, cuanta más información de calidad (importante!) se recopile sobre la inversión, más preciso es el resultado.

Nuestra finalidad es construir diferentes modelos de regresión sobre los precios de las propiedades del portal Idealista, inegrando el registro de viviendas turísticas y estancias turísticas en viviendas de la isla de Mallorca como fuente externa.

La evaluación de propiedades se ha resuelto a lo largo de los años desde varias perspecticas. Desde la aplicación del método de precios hedónicos para explicar las variables determinantes, hasta el uso de técnicas complejas como las redes neuronales.

Conjunto de datos

Fuentes

Dado el interés en una área concreta, se cubre la zona geográfica del municipio de Palma de Mallorca dentre de un radio seleccionado.

API Idealista

El portal inmobiliario Idealista proporciona una API para quienes quieran disponer de la información sobre viviendas en su base de datos.A partir de una url creada con unas premisas definidas por Idealista, cualquier usuario puede obtener la información. Para ello, proporcionan las claves de acceso, junto con la documentación en la que informan sobre las restricciones de uso. No se pueden realizar más de 100 llamadas por usuario y mes. Cada llamada devuelve un máximo de 50 observaciones. La búsqueda se ha de realizar por coordenadas geoespaciales.

A partir de las credenciales que nos han facilitado, solicitamos nuestro token. Para ello codificamos Apikey:Secreto en Base64, un sistema de numeración posicional que usa 64 como base y se aplica en la codificación. Recibido el token, solicitamos datos a la API de Idealista mediante los parámetros de búsqueda a partir de una posición (latitud y longitud) y un radio. En nuestro proyecto, se plantean varias llamadas hasta obtener un conjunto elevado de instancias.

Datos abiertos del Gobierno de España

El punto referente al número de estancias turísticas lo obtenemos en el catálogo de datos abiertos del Gobierno, publicado por el Gobierno de las Islas Baleares.

Del conjunto de datos de viviendas turísticas en Mallorca nos interesa las viviendas en la localidad de Palma de Mallorca. Todas ellas se encuentran dadas de alta, por lo tanto, tienen actividades en las distintas modalidades vacacionales.

Descripción variables

Se adjunta tabla con la descripción de las variables (renombradas)

Variable Descripción
id_property Número de identificación de la propiedad
floor Nivel de planta en la que se encuentra la propiedad
price Precio de la propiedad en euros
propertyType Tipo de propiedad
size Tamaño en metros cuadros de la propiedad
exterior Booleano (True o False) sobre la ubicación al exterior
rooms Número de habitaciones del inmueble
bathrooms Número de baños del inmueble
district Distrito en el que se encuentra el inmueble
neighborhood Barrio en el se encuentra el inmueble
latitude Coordenada latitud (UTM)
longitude Coordenada longitud (UTM)
distance Distancia entre el inmueble y el centro del municipio
status Condición de preservación de la propiedad
newDevelopment Booleano (True o False) si la propiedad es de nueva obra.
hasLift Booleano (True o False) si la propiedad tiene ascensor
priceByArea Precio por área de la propiedad
typology Tipo de inmueble

Preprocesamiento datos

Datos duplicados

Comprobamos instancias repetidas

Renombrar columnas

Descartar variables innecesarias

Se descartan las siguientes variables obtenidas en la llamadas, y se hace mención al motivo por el cual de descarta. Además, la API devuelve variables que contienen información sobre las pagínas de la web del portal (página en la que se encuentra,items..) y variables sobre las propiedades que cuentan con parking.

Variables descartadas Motivo
elementListthumbnail Imagen
elementListexternalReference Identificador de referencia
elementListnumPhotos Número de fotos
elementListoperation Todas las operaciones son de venta
elementListaddress Direcciones
elementListprovince Provincias (Illes Balears)
elementListmunicipality Municipio
elementListcountry Símbolo del país (es)
elementListshowAddress Booleano sobre si los propietarios quieren mostrar la dirección
elementListurl Dirección web del inmueble
elementListhasVideo Booleano sobre si incluye video
elementListsuggestedTextssubtitle Sugerencias del portal de subtítulo
elementListsuggestedTextstitle Sugerencias del portal de título
elementListhasPlan Booleano sobre si incluye plano
elementListhas3DTour Booleano si inlcluye tour tridimensional
elementListhas360 B ooleano si incluye vista panorámica
elementListhasStaging
elementListtopNewDevelopment Booleano si se encuentra en el top ranking de nuevas obras

Revisión valores perdidos, ceros, tipos de datos y valores únicos

En el caso de la cantidad de ceros en las columnas rooms y bathrooms en un escenario real, toda vivienda cuenta con al menos una habitación y baño se el tipo de propiedad habitable que sea.

La cantidad de valores únicos nos muestra que no hay redundancia en las propiedades (1000 propiedades distintas,1000 observaciones). Disponemos de 6 tipos de propiedades (propertyType). Para las variables de tipo booleano, hemos de revisar hasLift, puesto que nos indica 3 valores distintos. Del mismo modo para status, existe un cuarto estado que no estaba propuesto, y se ha de estudiar.

En cuanto a los distritos y barrios, no se repiten por errores de redacción o similares, aunque en el distrito Portixol-Molinar, no se indica barrio, porque se refiere a la misma zona con el mismo nombre.

Tratamiento de tipos de datos y valores únicos

Tipos de datos

Por el momento se tratarán las variables categóricas y numéricas como tal. En la medida de los algoritmos que se seleccionen, el soporte de tipo de datos varía, y por lo tanto se adecuará.

Categóricos

variable propertyType

variable neighborhood

variable status

variable hasLift

Para la variable hasLift existe un tercer nivel que no es booleano. Para tratar de conocer a qué tipo de propiedades pertenece, puesto que en ocasiones no se indica porque se presupone que no procede y que se entiende el motivo por el que no tiene. Este tipos de propiedades son chalet y casas de campo en nuestro caso. Ambos suman 114 y 5 observaciones respectivamente. Para reducir el número de valores del tercer nivel vacío, indicaremos que los dos tipos de propiedades no tienen ascensor (False).

Para el resto de tipo de propiedades, pueden tener o no ascensor, y en estos casos se desconoce. El tratamiento a los casos que desconocemos, es convertir el valor en un string ‘unknow’

variable floor

En el caso de la variable ‘floor’ tratamos de armonizar los niveles, y establecer los niveles numéricamente.

Los siguientes casos se agruparán bajo el mismo nivel (nivel 1) :

Variables listas

Las siguientes variables se encuentran preparadas, a falta de su conversión como variables categóricas:

Análisis numérico

variables categóricas

Para las variables categóricas se muestra los resultados ordendados según la frecuencia, que rápidamente analiza las categorías con mayor frecuencia y qué porcentajes representan.

De la lectura general por medio de las gráficas, destacamos lo siguiente:

variables numéricas

El precio medio de las propiedades es de 661414 euros. Detectamos valores atípicos que se alejan del precio medio (pueden deberse a propiedades como chalets) d por ejemplo 5,9 millones de euros.

El tamaño medio de las propiedades es de 155.8 metros cuadrados.Al mismo tiempo observamos propiedades de hasta 1050 metros cuadrados. Seguramente cuenten el terreno que pertenece a la propiedad.

La media de habitaciones es de 3. El 80 % de propiedades tienen un máximo de 4 habitaciones, aunque vemos propiedades con incluso 12 habitaciones. Estos datos bien puede pertencer a un caso real o a un error de registro.

El 50 % de propiedades tienen más de 6 viviendas turísticas cerca a menos de 500 metros. Esto indicador puede tener mayor incidencia sobre el precio de las propiedades.